Repository navigation
Reuse the original live thread for project result readback - #8247
Conversation
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: model_agent | GPT-6 | OpenAI | self_reported
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
动机 / Motivation
飞书普通项目原请求收到部分答复后,原服务会核对能否继续剩余工作,或者只读查看已有产物并补答。 旧路径在原 Codex 进程仍持有该线程时,也另外启动一个原生进程读历史。原线程已经不匹配时,旧路径还可能预留一次复核。 新路径从同一个可核验的原生进程读回结果。相同测试在主干有 7 项失败,本提交 24 项通过。 本次只调整项目结果复核的证据读取。已入队续办、业务完成与生产原消息补答分别验收。
改动思路 / Approach
由现有 Core 恢复入口选择读取方式,复用原生结果读取函数。原工作进程持有匹配线程时直接读取,只有会话没有 adapter 时才读持久化历史。 这份读回只证明原答复和未完声明,实际只读复核另由原队列和当前授权决定。 现有原生读取继续校验原始最终答复、未完声明和后来可关联的输入。已有后台工作、原线程不同或原生证据缺失时,保留待处理状态。真正派发只读复核时还要重新核对授权、队列和原生结果。
具体改动 / Changes
关键代码讲解
- 原恢复入口把项目可写续办和结果复核的观察放在同一分支。能证明效果的仍是原可写进程。需要核对结果时,仅复用匹配且无后台工作的原进程。 恢复入口
- 结果读回函数验证完整、稳定的原生记录,核对原始最终答复及可关联的后续输入。没有原 adapter 时由原持久化读取路径提供同一种结果证据。 原生读回
- 原派发检查保留当前绑定、来源、排队和停止门。实际复核只能沿原线程使用工作区只读权限,网络关闭。五个复核用例均核对旧回执、原文件和一次独立回复。 派发校验 对账测试
| 基线 RFC 条款 | 结论 | 验证 |
|---|---|---|
| Explicit unfinished work after a completed Turn | implemented | 原可写续办、重启、排队变化及效果核验继续通过 |
| Completed private project result reviews | implemented | 原进程、冷读、外来线程、独立只读权限和原消息回执 |
逐条按基线的两个条款核对。 基线 RFC
对主干的风险 / Risks
主要风险是把可写进程的读取当成可写授权,或让不同线程的历史被误用。现有原生结果检查只读取已知记录,实际只读复核由原队列及独立沙箱执行。新测试记录了每次启动、同一线程、只读目录、无网络和原文件不变,也检查了来源修改、撤权和停止。相同用例主干通过 17 项、本提交通过 24 项。另有 237 项相邻回归和本地合并前检查通过。
我的整体评价 / Verdict
批准这次读回修复。它去掉原服务在已有可用进程时的额外读取进程,也避免给不匹配的现有线程预留复核。检查的是后台对账和权限核验,界面、回执格式和正文呈现无需视觉对照。 实际 Codex 宿主接回同一隔离线程并报告受限权限,飞书补答与旧业务补办仍需原受众读回。
English verdict: APPROVE fa35f01. Exact-head checks verify original live-thread readback, cold fallback on absence, restricted result-only review and unchanged original delivery. Production historical recovery remains separate.
Goal And Delivered Outcome
Author Declaration
Implemented against
docs/architecture/rfcs/app-conversation-and-async-inbox-v0.mdatebb39f4db088cc77927c4514d614476ad0a5c84e.ChatExternalConversations.recover_failed_requestrecover_failed_request,completed_result_review_readbackScope And Continuation
Validation
fa35f01a377f08502955beac2e6c5176b7e7357breal_entrypointpassedregression_paritypassedintegrationpassedreal_backendpassedstaticpassedFrontend / Visual Evidence
Type of Change
LoopX Area
Shared-authority RFC fixture impact
Boundary Checklist